{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Load, threshold and save an image"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> In this tutorial you will learn how to load a medical image with **MedPy**, how to perform a simple thresholding operation and how to save the resulting binary image. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Loading an image with **MedPy** is straight-forward. Assuming you have the [required third party libraries](http://pythonhosted.org/MedPy/information/imageformats.html \"Supported image formats and required third party libraries\") installed, the [load](http://pythonhosted.org/MedPy/generated/medpy.io.load.load.html \"medpy.io.load\") function is all you need. It returns the image as an array and the associated header with meta-data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "((181, 217), dtype('<f4'))\n"
     ]
    }
   ],
   "source": [
    "from medpy.io import load\n",
    "\n",
    "i, h = load(\"flair.nii.gz\")\n",
    "\n",
    "print (i.shape, i.dtype)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The image's data type (here: float) is autmatically determined and the correct numpy array created. Now let's take a look at the image using the jupyter notebooks inline magic."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAS8AAAD/CAYAAACgl1BDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvUmMZFmWHXZsnmfzOTwmjwyPITMiMzKrKgvd1Q2wu0Gq\nFg0JXJAgIWjHhSCAgASCELRQN7QUtNFKAgEKAtGCJJArCoIgkK2ubnRVobKbVVk5VFVGVGR4jO5u\n7uY2z4MWlufZ+dctKrMyIjPDIv4FHO5u9of333/vvHPPve89wDfffPPNN998880333zzzTfffPPN\nN998880333zzzTfffPPNN9988823Z7DvA/gAwC8B/NffcFl88803376QpQDcA7AKIATgLwG89U0W\nyDfffHs5Lficr/dtAP8BwCGAMYB/jRkT880333x7rva8wWsTM+CiVQCsP+d7+Oabb74h/JyvN8WM\ncalFFxzjm2+++fZFLbDow+fNvPYBrMj/qwCePOd7+Oabb749d/D6CYBvYQZgYQB/H8C/f8738M03\n33x77m5jC8B/AeD/AxAB8K8A/NVzvodvvvnm22Jf8is2X/PyzTfffhv7WjQv33zzzbevxXzw8s03\n35bSfPDyzTffltJ88PLNN9+W0nzw8s0335bSfPDyzTffltJ88PLNN9+W0nzw8s0335bSfPDyzTff\nltJ88PLNN9+W0nzw8s0335bSfPDyzTffltJ88PLNN9+W0nzw8s0335bSfPDyzTffltJ88PLNN9+W\n0nzw8s0335bSfPDyzTffltJ88PLNN9+W0nzw8s0335bSnvfuQb759o1YIBA49f9kMvmGSuPb12E+\nePn2QlgwGEQgEEAoFEIwOHcICEqj0QjD4fDU5zwnFoshEAggEAggHA4jFAqhWq26a/Oa/X7/63ok\n375i88HLt2/UCD7h8KwpEnjInAKBAILBIAaDAabTKSaTCYLBILLZLJLJJGKxGOLxOMLhMMbjMfr9\nPvr9PkajERKJBAC46/OaoVAIo9EIo9Hom3x0357RfPDy7RuzUCiEaDTqACgUCp0CmkgkgmAwiNFo\nhMFggMlkglgshu3tbayuriKXyyGdTiMUCmEwGKDRaODk5AT1eh3tdhv9fh+9Xs+B1XA4RDAYRLfb\nxXg8xnTqbyO6rOaDl29fi5FRhUIhADPGlUwmkclk3E86nXbHkYklEglMp1OMx2OMRiNMJhNks1lc\n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\nr/N4wqAgfjqdJp/Pk8vlWFxcZGJigkgkwtTUFJOTk05Zb7e6n5iYcAXbwXY1VncmQamsuHq9ztra\nGoODg0xPT7t21/qMSqXC5uYmN27c4LXXXiMSifDUU0/R39/vXEBZi3JdD4tX+RjW44P3I68vAb8E\n/AhtIvod4Cdpu40VYBP43P5rvw38NzBP2338TeDJ3iHgCYat69ve3nbWjvro2+JvBc4vXLjAyMgI\nuVyOlZUV+vv7mZqacrWWtl+Zddm0E/n169epVqtMTk4SiUQ6Wkbn83lWV1e5efMm6+vrDA8Pc+fO\nHdevrFaruf/equoOHJY1PGr4X8YTDBtAl0snxf358+e5cOGCk0Y8/fTTzM7OMj4+fmiLG0kmstms\nayujIutwOEwoFHIF4KVSiUwmQzwe9+TUfTiUpzx5eZw4rGRB+jFoa7wuXbrExMQE4+Pjrngc6MgO\nSiyaTqddbad0aSrF8YTV1fDk5dF9kJxBOxHZflnqKGELoz16Ep68PLoPwe6m9n5w5x+PnoUnLw8P\nj67EoTzVf9iDHh4eHo87PHl5eHh0JTx5eXh4dCU8eXl4eHQlPHl5eHh0JTx5eXh4dCU8eXl4eHQl\nPHl5eHh0JTx5eXh4dCU8eXl4eHQlPHl5eHh0JTx5eXh4dCU8eXl4eHQlPHl5eHh0JTx5eXh4dCU8\neXl4eHQlPHl5eHh0JTx5eXh4dCU8eXl4eHQlPHl5eHh0JTx5eXh4dCU8eXl4eHQlPHl5eHh0JTx5\neXh4dCU8eXl4eHQlPHl5eHh0JTx5eXh4dCU8eXl4eHQlPHl5eHh0JU6CvL59At/p4eHRnfB84eHh\n4eHh4eHh4eHh4eHh4eHhcUT4ReB7wB3g9094LEeN/wFWgIX9vz8AzgDfBO4C/w5MntTgHjE+Ctw0\n97/fPL9I+/x/D/jEcQ3wCBCc82eBLAfn+//Mc70y5xHgv4Bl2udWa7jnz3cYWAWmgQHgdeBHT3JA\nR4zXaP/ALf4a+Nz+7d8A/uJYR3Q0+DKwDcyZx95rni8BbwB9wDnaP/bB4xnmI8Vhc/4M8JVDXtsr\nc4Y2eb1sbt8APkzvn29eBl419z9Pm5V7Fa8BPxZ4bBUY378dAZaOc0BHiEu0r6zCKgfzjHIwzy8B\nv2Ve9yrwU0c9uCNCcM6fBf7ykNf10pyD+Cfg5zih832cOq8LwJa5n6LNxr2KFu2Tewf4M9rW5hmg\nsP/8DnD6ZIb2yNEXuG/nmedgnudpn3ehm38DwTm3gE8Di8B/AFf3H++lOVvMAD8BvM0Jne/jJK8W\n0Ag8NnyM33/c+AXgWdqu8UXgCzw58/9+8+zVY/A12ov4MvBV4OvmuV6b8yjwj7TjuHlO6HwfJ3kl\ngLPm/jQQP8bvP25U9/+XgX8BZmmf6PD+41EgcwLjOg681zyDv4Gz9M5voGZufwN4Zv92r815hLZH\n8W/A3+0/diLn+zjJ6zvAi7QnMAj8CvCtY/z+48QI8DP7t4eAXwbeBP4b+NX9x3+NduamF/Fe8/wW\n8Cnav7vztBMa3zn20R0NXqJtkQB8Enhr/3YvzfkU8M+0k21/Yh5/Is73K8At2lmHPzzhsRwlRmnX\nZEkq8af7j0/RjofcpZ1aPnMio3u0+BJtycAubXnAT/P95/lHtOOAt2lLZ7oRmnOJ9mJ8Cfg9Ds73\nf3JgeUFvzBnaF+QKB3KQBeCP6f3z7eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh\n4fEQ+H/mOu81jS7RagAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa7423aad50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.cm as cm\n",
    "\n",
    "plt.imshow(i, cmap = cm.Greys_r);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can see a slice of a 3D MRI Flair volume. The experienced user might even spot some perventricular MS lesions, but these are not of our concern right now.\n",
    "\n",
    "What we would like to do is to separate the image from the background via a simple thresholding operation. Let's take a look at the image's histogram to determine the values of the background voxels."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\ngXfWq1YLAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa7416be610>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(i.ravel(), bins=32, log=True);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A clear peak (consider the log-scale) at the 0-values hints towards a 0-valued background. We can further conform this by computing the mean value over a small recantgular reagion in the upper-left image corner."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.0\n"
     ]
    }
   ],
   "source": [
    "bgmean = i[:10,:10].mean()\n",
    "print (bgmean)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Most likely, the image's background is uniformly 0-valued. We can now extract a brain mask and display it."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAS8AAAD/CAYAAACgl1BDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGttJREFUeJzt3Xl4U3WixvFvKZSWUkppadkqlGG5Ai5lUURBQQUuI+OI\ndUD0KoiAFHDgAe6ogyLCdbyd8Y7CyCK4ADIoyM64gCBcmFGQW6GsolIclhZaWaYsLTTJ/SMBSkmh\nTZP8cpL38zznITlJm/eQ8HLOL2cBEREREREREREREREREREREamEXsAOYC/wvOEsIiLlEg0cABKB\ncOB/gVSTgUQkOFXx8u+7DcgEjgE24GOca2IiIl7l7fJqgLO4LsoD6nn5NUREqOrl3+fAucZVUoSb\n54iIlFeYu5neXvPKBeqWuJ8I5Hj5NUREvF5eW4AOOAusKvAwsNbLryEi4vXNxtPACOBLoBowD9jo\n5dcQEXG/LeljGvMSkYrwy5iXiIhfqLxExJJUXiJiSSovEbEklZeIWJLKS0QsSeUlIpak8hIRS1J5\niYglqbxExJJUXiJiSSovEbEklZeIWJLKS0QsSeUlIpak8hIRS1J5iYglqbxExJJUXiJiSd6+AIeI\nX0VGRlKnTp2r5hcXF5OXl4fDoUsmBCuVl1ha586dmTdv3lXzDxw4wP33309BQYGBVOIPKi8xrlmz\nZkydOvWaz1m8eDGzZ8++dP/FF1+kU6dOJCYmkpSUdNXzY2JiWLJkCcXFxZfm/fTTT4wYMeKKeWJd\nKi8xqn379gwbNoyePXte83m1a9cmJSXl0v20tDRatGhR5vNr1KjBfffdd8W8vLw8Tp48ic1mY8WK\nFWzevLly4cUoXbdRjOjWrRvx8fF069aNZ555xu+vP3v2bFavXs3x48dZu1YXdQ9wbntK5SU+U61a\nNZKTk6lS5eovtRcuXEhqaqqBVFfasWMHDz30EIcOHaKoqMh0HHFP5SX+1bhxYzZt2kRsbOxVj9Wo\nUYPw8HADqa5ks9koKCigc+fO7Ny503QccU/lJd41adIkunTpUubjkZGRtG3blqpVA3to1eFw8O23\n33L69GkWL17MlClTTEeSK7ntqcD+VElAioqKYuzYsfTr149mzZqZjlNpYWFhtG3bFoDY2FiaNm1a\n4d8xY8YM9u7d6+1oEmAcmqw71atXz5Genu44duyYQy7705/+5LjpppuMvz9BOrllYtDhZQOvKV5Q\nt25devfuzcyZM4mOjjYdJ6B06tSJ8+fPs3v3bk6dOmU6TrCZaDrARaZbXJOH0+jRox02m830Sk7A\nstlsjgULFhh/n4JwcksHZku5vPLKK4wePdrtbg/iVKVKFXr06MGSJUuoUaOG6ThBT59EKZeUlBSS\nk5NNxwh4cXFxtGnTJiB2Awl2+rZRrik8PJxHHnnkmofiyJViY2N5+umny9zpdf369ezevdvPqYKP\n9vMKMQkJCTRv3vyq+WfOnCErK+vS/Xr16pGSkkK1atWYM2cOTZo08WPK4JaRkcHMmTPZv3+/6ShW\nYaKn3DI9+BeSU0REhCMyMtLxxBNPuB1s3r59uyMqKsoRGRnpiIyMdDz77LN+Hu4OLbNmzXJEREQY\n/1xYZHJLa14h4p133qFjx47ExsbSsGHDqx4vLCy8Yk0gLi6O+vXr+zNiSDlx4gSrV6+mX79+pqNY\ngda8QnFKSEhwzJw505GTk2N6ZUNKyc/Pd8yZM8eRnJxs/HMS4JNbGrC3mHbt2tG1a9dyP7927do8\n/vjj+uo+AMXHx/PYY4+Rl5fHu+++q0H8ClJ5WUirVq0YNGgQw4YNMx1FvCQ8PJwxY8ZQXFzMmjVr\nAOf597ds2cK5c+cMpwtsGvMKcFWrVqVWrVoATJ8+nd/85jeGE4mvnT59mnvuuYfs7GzOnTunEtMp\ncazp1ltvZdmyZYBzNwcdUxj87HY7OTk5FBcXM23aNDIyMkxHMk2nxLGaHj168Pzzz9O4cWPTUcSP\nqlSpcukb4dq1axtOE7hUXgHqgQceYMiQIdx9992mo4gEJB3bGKB69+5N7969TccQw5o3b87tt99u\nOkZA0pqXSABLS0ujbt26PP744wDk5+dTWFhoOFVg0JqXSIC74447yMzMJDMz85rXDAg1WvMKAMOG\nDePXv/71FfNatWplKI0EmoiICOrWrQvAa6+9RmJiIh988IHhVOapvAJAy5Yt6d69u+kYYgGpqakM\nHTqUNm3acPLkSaZMmcLZs2dNxzJC5WXYvffeq3NlSYXcdddd3HXXXeTn55Ofn8+qVavIzc01Hcvv\ntJOqATExMZfO2DB//nzat29vOJFY2cCBA1m+fDknTpwwHcVXtJNqoOjevTtz5swBnBdmFamM6dOn\nU7t2bd544w3TUfxKa15+9swzzzBq1ChatmxpOooEkQMHDnDo0KFL94cPH37FmXEtzuvHNq4HGgMX\ndzqZB8wE5gMpwH6gP1B6XTZkyys9PZ1BgwZdujqziK8sXryYqVOnsmHDBtNRvMHrm40O4GEgs8S8\nd4HFwCxgCM4LzP62Eq8RFKKjo3nwwQdJT0+ndevWpuNICHj44YcpKirCbrezceNG03F8orJjXqUb\nsRuXy+pD4P8I0fJq2rQpsbGxACQlJfHWW2/pIFvxq/79+1OzZk3y8vLYu3ev6TheV5nNxnU4Nw+L\ngE+AccBJIKbEc34G4kv9XNBvNoaFhbF8+XIdmygBYfv27bRt2xa73W46iqfc9lRlDg/6d5zllQo0\nwrmGZSv1nIhK/H5LiouL429/+5sO4xDxscqU18Urap4DVgJNgVPAxbPlxQLHK/H7Lad169ZMnTqV\nLl26XNpkFDEtOTmZWbNmBd21Nz29Jnl1oDNwAKgGvAh8jrMMY4BvgQE4C25FqZ992cPXDHipqalk\nZGQQERFyK5wSwKKiokhNTeXChQscPnyYvLw805EqaqK7mZ6ueYW5fmE2kAX8APwV57hXX+A74CHg\nPz38/SLiZePGjePOO+80HcNrPP22sRBwd4rPfKCH53FERMpH5/MSEUtSeYmIJenA7EqIiIjgySef\nJC4uDnCeb1xE/EPlVQkRERGMGzdOpSVigDYbPVStWjXi4+MJD/d0bxMRqQyVl4fatm3Lpk2buOGG\nG0xHEQlJ2mysoFGjRtG1a1fi4+Np1KiR6TgiIUvlVQ4NGzZk8ODBhIWF8eCDD3LLLbeYjiTikd69\ne5OTk8O2bdsYOHAgM2fO5NixY6ZjeURnUr2OJk2akJaWxh//+EfTUUS8Yvr06cydO5cNGzbQtm1b\ndu3aZTrS9Xj9rBIhoUePHiouCSoxMTHExcVx8OBBLly4YDqOx7TZKBJi0tLSaNCgAbfddhunTp0y\nHcdjKi+REBMZGUmNGjU4ftzaZ6zSZuM19OnThz59+piOIeJ1jRs35g9/+ANJSUmmo3hM5XUN999/\nP927dzcdQ8Tr6tevz9ixY3niiSdISUkxHccj2mwUCVFVq1YlIyOD3NxcsrOzTcepMK15iYglqbxE\nQtyLL77IyJEjTceoMJXXNXz44YcsWLDAdAwRn2revLklL86h8rqGDRs2BMvl0kWCjgbsS4iPj7/q\nfyCdNUIkMKm8XMLCwnjggQd4//33TUcR8SuHw4HDYalDjgGV1yVjx45lxIgRpmOI+N348eMt+Z+2\nxryA5557jgEDBmgTUUJSz5496dKli+kYFabywvnmtWrVynQMESM6d+5Mhw4dTMeosJDebIyKiuLW\nW28lNjbWdBQRqaCQLq+GDRvy2WefUatWLdNRRKSCtNkoIpYUsuXVsWNH3nzzTaKiokxHEREPhOxm\nY3JyMr169TIdQ0Q8FLJrXiJibSFZXjVr1tQgvYjFheRm44gRIxg3bpzpGCJSCSG55lWrVi3q1Klj\nOoaIVEJIlpeIWJ/KSyTEbd26lR07dpiOUWEhOeYlIs5T4Rw5coRXX32VpUuXmo5TYSovkRB14cIF\n0tLSyMzMNB3FIyG52fjOO+/wyiuvmI4hYlxBQQHnz583HcMjIbnm9eOPPzJ//nyqVavG6NGjiYyM\nNB1JxC8WLVrE5s2bAbDZbOTm5hpO5LmQLC+Affv28eabb5KQkMCvfvUrS1/2XKS81qxZw6xZs0zH\n8IqQ3Gy86OjRowwZMoTPPvuMn3/+2XQcEamAkC6viwYPHsxf//pX0zFEpAJUXji/dXn99deZOHGi\n6SgiUk4qL5fbbruNzp07m44h4lOPPfYYjz76qOkYXhGyA/Yl9e7dm6FDh9KtWzfTUUR86u677wYg\nJibm0rwvv/yS77//3lQkj4UZeM2Au7rl+vXrL72pIqFmwoQJvPfeexw8eNB0lLK47SltNoqEuIkT\nJzJq1CjTMSpM5SUilqTyEhF69uzJc889ZzpGhWjAXkRo1aoVgwYN4l//+hfz58/n1KlTpiNdl9a8\nRASAZs2a8eqrrxIfH286SrmovICzZ89a9sh6kVCl8gKefvppHR4kYjHlKa+2wPYS9+OBz4DvgE+B\nuBKP/R7YC+wAenopo88dOXKEkydPmo4hEjDGjBkT8HviX6+8XgdWc+VOYn8EFgMtgaXAy675XXAW\n1o3A/cCb6AsBEUupXr066enpDBw4kNatW5uOc03XK68xQDuuLK9uwIeu2x8BvVy37wUW4tyDPhfY\nBdzutaQi4nORkZGMGTMm4IsLyrfZWHrX/HigwHX7FHDxAoj1gbwSz8sD6lUqnYhIGTwZsLeVuh9R\nzsdERLzGk/I6BUS7bscCx123c4G6JZ5XF8jxPJqISNk8Ka91QF/X7X7AF67ba4FHXL+zPs5vKbdU\nNqC/fPLJJ3z88cemY4hIOV2vvCYCy4GmwDdAZ2AczvL6DngI+E/XczfgLLbdOAstHTjr/ci+sWbN\nGlauXGk6hoiU0/V2ZZjgmkrrUcbzJ7kmy0lISCAxMdF0DBEpJ+2H5TJ27FieffZZ0zFEpJx0eJBL\n9erViYqKMh1DRMpJ5SUilqTyAnr06MGNN95oOoZIwNiwYQPbtm0zHeOaVF5A3759adeunekYIgHj\nL3/5S8DvOqTyQlfMFrEilRdgs9mw2+2mY4gYd/r0aR566CHWrl1rOsp1aVcJl4ULFxIbG8vAgQNN\nRxHxi+LiYiZPnkxOzuWj+M6fP8/atWspKCi4xk8GBpWXy1dffYXdbic6Opq0tDSqVNFKqQQ3u93O\nxx9/zK5du0xH8YjKq4TNmzfzwgsv0KBBA6pWdf7VJCUlkZKSYjiZiPeFhYVx8803c/ToUfLz803H\nqTC3l9H2MYeB1/TY0KFDmTFjhukYIj4zcOBA5s2bh81W+oxWAcNtT2nbSCTETZ48mTFjxpiOUWEq\nr+tYt24dL730kukYIj7TsGFDkpKSTMeoMI15Xcf333/P+++/T2xs7BXzGzVqRJ8+fZg3bx533nkn\nLVu2NJRQJDSpvMrh4MGDjB079op5N998M7GxsXz66ac0bdpU5SXiZyovD2VlZfHII4+QmZlJ8+bN\nTccRCTka8xIRS1J5iYglabNRJETZbDZmzZpFXl4e//jHP0zHqTCVl4fq1KlDt27diI6Ovv6TRQKQ\nw+Fgx44drFixgkOHDpmOU2EqLw+1adOGRYsWmY4h4rHw8HAmTJjA0aNHVV4iYh3FxcWkpaXxzTff\nmI7iEQ3Yi4Qoh8PB8ePHKSwsNB3FI+EGXvNlA6/pdXa7nWPHjrF27VoSExMteXiFhK5//vOfvPba\na2zatImzZwP+2tAT3c3UWSW8YNSoUdxxxx3Uq1ePLl26mI4jck0//vgjH374IePHjzcdpbzc9pTK\ny4vuuusu5syZww033HDpfGAigeTYsWPMmDGDCRMmmI5SESovXwsPDyc5OZmNGzfSqFEj03FErjJy\n5EhmzZpFUVGR6SgV4bantHrgRTabjTNnzuBwBG0/i4UNHjyYVatWWa24yqRvG0VCxLZt28jNzTUd\nw2u05uVlhYWFLFy4kDp16pCamsqtt95qOpJIUNKYlw8988wzDB06lIiICFq0aKFBfDHi3Llz7Nu3\nj/79+7N7927TcTyhAXt/CwsLIywsjOTkZLZu3UpCQoLpSBKCsrKyaNeuHcXFxaajeEoX4PA3h8OB\n3W4nJyeH++67j/bt2zNnzhzWrFlDnz59rLBzoFjcypUr6devn5WLq0zajvGD8+fPs337dgDeeust\nYmJiOHToEHa7nYyMDNq1a8e9995rOKUEo/z8fPbs2WM6hk/o8CA/O3LkCNnZ2YSHhxMVFcWMGTNI\nSUmhY8eOpqNJEFmyZAnr1q1j48aNZGVlmY5TWTo8KFCNGjWK4cOH06xZM9NRxEKKiorIysriwoUL\nVz02bNiwYCitizRgH8gef/xxZs+eTfXq1U1HEQuw2Wzs37+frl27kpOTg91uNx3JlzRgH8hWrlxJ\n3759A/mS6xJA1q9fz1NPPcXSpUtDdshBY14BoqioiKNHj7Jjxw5SU1OJi4szHUkC1OLFi8nIyCAz\nM5OjR4+SlZXF6dOnTcfyJbdjXiqvAFJYWMjOnTsB616CXXxv4cKFzJ07lwsXLrBnz55gLy4oo7y0\n2RiApkyZwvvvv8/evXtNR5EAs337dvbv3286RkDQgH0AGzBgAG+88QaxsbGmo4hhdrudU6dO8eij\nj/L555+bjuNv+rbRamrWrEm3bt1Yvny56Shi2M8//8wvf/lLsrKyOHfunOk4/qbysqK4uDi3p5aO\nioriz3/+M/Xq1TOQSvzp22+/5YUXXmDDhg2hWFyg8goutWrVIjMzk1/84hemo4gPbdq0iZkzZ/LB\nBx+YjmKSzqQqEsj2799/6dvmixYvXhzqxVUmlZdFXTxbRUREBLVq1SrXoP7Jkyex2WzEx8f7IaFU\nxPHjx5k7dy4TJ7rdK0AChENT5aewsDBHXFycIyEhwTF58mRHeUyYMMExZMiQcj1X/Cs9Pd0RHR1t\n/HMVoJNbGvMKAikpKTRr1ozatWszbdq0Syc9/Pvf/8706dOZPn06kydP5qOPPqKoqIibbrrpip/v\n0aMHY8aMMRE95BUXF5Oens6qVavIyckxHSdQacwrWGVnZ5OdnU10dDQvvfQSMTExAOzbt49169ZR\np04dVqxYwU8//QRw1UUYkpOT/Z451H399dcsXboUm83GsmXLyMvLMx1JysH0KqimUtNTTz1leqsp\npGzZssUxaNAg4++7hSa3tOYl4gdFRUUcOHAAh8PB66+/zkcffWQ6kuWVp7zaAu8Bt7juDwD+DFzc\n9jgNdHDd/j3wH8AFYBzwmbeCiljZDz/8QKdOnSguLub8+fOm4wSF65XX68CTwJES8xzAPODZUs/t\nAvQEbgSSgA1AayD4zvwvUg7Dhw+/dO2CM2fOUFBQoKupe9H1ymsMMAVYVWJeGO5H/+8FFuIst1xg\nF3A78PfKxxRf+uqrr3jttdf43e9+R1iYiS+gg0dmZibvvfceAMuWLePIkSPX+QnxVHk2G0t/mh1A\nf6AHkA38FtgL1AdKXqYkD9CBdxawZ88epk2bRt26dct8zj333BOShyJ9+eWX1KxZkw4dOrh9/MyZ\nMyxbtozCwkIAtm7dyowZM/wZMWR5MmC/AJjjuv0I8BGXx8NKn8M4wsNc4mcHDx7k6aefLvPxSZMm\n0atXr3L9rgYNGgTNAeNvv/021atXZ/z48VdcICUnJ4ecnByOHTvGyJEjOXHihMGUUpYmwI4yHqsC\nnHLdfgVIL/HYEuAeNz9j+mtXTT6eJk2a5LDb7ZcmqymZvW/fvg7Acd99910x/+WXXzb+9xxCk1vl\nGeBoAqwELu6W3QXYAhQCacBgnJuQd+M8xfO9OAfsvwJaAaUvC11mGAkO9evXv+IU1m+//XaZm12B\nZsGCBWRkZFy6f+DAAU6ePElMTMwVm825ublX7ewrPuPRKXEmAr8GmgM7gbFAJ2AozvI6hLO8Drie\n/yLwGM7Nx3HAJ25+p8orxPTs2ZMGDRrQsWNHBg8ebCzH4cOHmThx4jWv0LR7926+/vprP6aSctD5\nvMSs9u3b88QTT1w1PzExkb59+/r89Xfu3Em7du20n5X16NhGMWvr1q1s3br1qvktWrSgYcOGADRv\n3hy73U5eXh4333xzhX7/rl27rjlwnp2drf2sgojWvCSgTJ8+nbNnz7Jo0SK++OKLCv1snz59WL16\ntY+SiUHabJTAl5SUhMPhoKCgoMJnuzh8+DBnzpzxUTIxSOUlIpbktqd00VkRsSSVl4hYkspLRCxJ\n5SUilqTyEhFLUnmJiCWpvETEklReImJJKi8RsSSVl4hYkspLRCxJ5SUilqTyEhFLUnmJiCWpvETE\nklReImJJKi8RsSSVl4hYkspLRCxJ5SUilqTyEhFLUnmJiCWpvETEklReImJJKi8RsSSVl4hYkspL\nRCxJ5SUilqTyEhFLMlFeGwy8pohYk/pCRERERERERETER3oBO4C9wPOGs/jaeiAb2OOaXgDigc+A\n74BPgThT4bysLbC9xP1rLefvcb7/O4Ce/groA6WXeQBwgsvv9zclHguWZa4OfAH8gPO9vfhvOOjf\n72jgAJAIhAP/C6SaDORjX+L8gJf0LjDYdXsI8KZfE/nG60A+kFViXlnL2QXYCIQB9XB+2Kv6J6ZX\nuVvmJ4Epbp4bLMsMzvLqWuL2NuAWgv/9piuwpMT9Z3G2crD6EmhXat4BIMZ1uxbwvT8D+VBjnP+z\nXnSAy8sZy+XlnAiMLPG8JcCdvg7nI6WXeQAw1c3zgmmZS/sY6I6h99uf+3k1AI6VuJ+Hs42DlQPn\nm7sX+B+ca5vxQIHr8X8BdcxE87qwUvdLLucpLi9nfZzv+0VW/gyUXmYH0B/YB3wO/JtrfjAtc0lJ\nQEdgM4beb3+WlwOwlZoX4cfX97d/B1Jwbho3An5L6Cz/tZYzWP8OFuD8R9wCmA18VOKxYFvmSGAR\nznHcUxh6v/1ZXrlA3RL3E4EcP76+vxW5/jwHrASa4nyjo13zY4HjBnL5Q1nLWfozUJfg+QycL3F7\nMdDEdTvYlrk6zi2KvwFzXfOMvN/+LK8tQAecC1AVeBhY68fX96fqwD2u29WAh4B/AOuAvq75/XB+\ncxOMylrOtcAjOD939XF+obHF7+l8owvONRKAPsDXrtvBtMw1gBU4v2z77xLzQ+L9/iWwE+e3DuMN\nZ/GlSJzHZF3cVSLDNT8B53jIdzi/Wo43ks67JuLcZeAMzt0DOnPt5XwR5zjgLpy7zljRxWU+i/Mf\nYxfgOS6/32u4vOYFwbHM4PwPuZDLu4PsAf6L4H+/RURERERERERERERERERERERExAP/DzfFEfaf\nu7PEAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa742299d10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "brainmask = i > bgmean\n",
    "\n",
    "plt.imshow(brainmask, cmap = cm.Greys_r);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Comparing this binary image with the original image above, we can say that we obtained a good brain mask.\n",
    "\n",
    "Now to saving the mask with **MedPy**'s [save](http://pythonhosted.org/MedPy/generated/medpy.io.save.save.html \"medpy.io.save\") function. It takes a numpy array, a filename and an optional header file. The desired image type is automatically determined from the file ending and the apropriate image writer used. All relevant meta-data from the header, such as the voxel-spacing, is transfered."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from medpy.io import save\n",
    "\n",
    "save(brainmask, \"brainmask.nii.gz\", hdr=h, force=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Comparing our brainmask array before the saving with the re-loaded array comes with two surprises."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('Before:', (181, 217), dtype('bool'))\n",
      "('After:', (181, 217), dtype('uint8'))\n"
     ]
    }
   ],
   "source": [
    "print (\"Before:\", brainmask.shape, brainmask.dtype)\n",
    "\n",
    "brainmask, brainmask_h = load(\"brainmask.nii.gz\")\n",
    "\n",
    "print (\"After:\", brainmask.shape, brainmask.dtype)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*First*, the array's datatype has changed. This is caused by the chosen image format, NIfTI, which [does not support the boolean type](http://nifti.nimh.nih.gov/nifti-1/documentation/faq#Q12 \"Data types supported by NIfTI\"). **MedPy** automatically choses the next largest compatible data type, if one such is available. Otherwise an exception is thrown.\n",
    "\n",
    "Did you spot the *second* surprise? We used the header from the original image, which was of data type float. Nevertheless the new image was save as uint8. How come? **MedPy** treats the information contained in the numpy array as superordinate to the header's, i.e., in the case of discrepancies, the arrays information is given prevalance and the header adapted accordingly.\n",
    "\n",
    "Now you know how to load and save image with **MedPy**. Why not [take a look which image formats your current configuration supports](http://link-to-page-describing-image-formats-check-to-do.de \"Which image formats are supported by my MedPy configuration?\") and try a few in-between-formats and in-between-data-types conversions with your own images to get a feeling for the process. Then continue, e.g, with our tutorial on [simple binary image processing](http://link-to-tutorial-using-above-braimask-added-noise-and-largest-con-component-plus-hole-filling.de \"Simple binary image processing\")."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
